import json

def parse_synset_file(file_path):
    """
    从给定的文件中读取 ImageNet 的 synset 数据，返回 synset_id 到 类别名称 的字典映射。
    
    :param file_path: 输入文件的路径，文件格式按你的示例。
    :return: dict, 键为 synset_id, 值为类别名称
    """
    synset_dict = {}
    with open(file_path, 'r', encoding="utf-8") as f:
        for line in f:
            # 按空格或tab分隔
            parts = line.split()
            if len(parts) >= 3:  # 确保每行至少包含 id, synset, 和类别名称
                synset_id = parts[1]
                class_name = parts[2]
                synset_dict[synset_id] = class_name
    return synset_dict

# 示例使用
file_path = '202501\\2imagenet.txt'  # 假设文件路径为 'imagenet_synsets.txt'
synset_dict = parse_synset_file(file_path)

def save_as_json(data, file_path):
    with open(file_path, 'w') as f:
        json.dump(data, f, ensure_ascii=False, indent=4)

# 示例使用
file_path = '202501\\imagenet_classes.json'
save_as_json(synset_dict, file_path)

# 输出字典
print(len(synset_dict))
